package com.weed.common;

/**
 * <p>Title: 通用维护平台1.0</p>
 * <p>Description: 通用管理平台,主要用于后台的维护</p>
 * <p>Copyright: Copyright (c) 2006</p>
 * <p>Company: </p>
 * @author Jason Zhuo
 * @version 1.0
 * 日志优先级如下（高至低）：　
 * <p> 　　　fatal-->error-->warn-->info-->debug(trace)</p>
 * <p>使用指南：</P>
 * <p>   fatal:  发生不可预知的错误，同时影响到其它程序的运行，是比较严重的错误．</p>
 * <p>   error:　由于其它原因导致的错误，本错误影响较小，可以继续往下运行．不影响其他程序或影响较小．</p>
 * <p>   warn:　 非法的操作，给予提示，不影响其它程序．</p>
 * <p>   info:　 打印提示信息，与程序相关的信息．</p>
 * <p>   debug:　打印调试内容或程序提示，如ＳＱＬ语句等．</p>
 */

public interface Log {

  /**
   * 被记录的对象。
   * @param clazz
   */
  public void init(Class clazz);
  /**
   * 被记录的对象。
   * @param clazz
   */
  public void init(String clazz);
  /**
   * 打印提示信息.
   * @param message 提示信息.
   */
  public void info(Object message);

  /**
   * 打印提示信息,同时打印出异常.
   * @param message 提示信息.
   * @param e 异常信息
   */
  public void info(Object message, Throwable e);

  /**
   * 打印调试信息.
   * @param message 提示信息.
   */
  public void debug(Object message);

  /**
   * 打印调试信息.
   * @param message 提示信息.
   * @param e 异常信息.
   */
  public void debug(Object message, Throwable e);

  /**
   * 打印警告信息.
   * @param message 提示信息.
   */
   public void warn(Object message);

  /**
   * 打印提示信息,同时打印出异常.
   * @param message 提示信息.
   * @param e 异常信息
   */

  public void warn(Object message, Throwable e);

  /**
   * 打印出错信息.
   * @param message 提示信息.
   */

  public void error(Object message);

  /**
   * 打印出错信息,同时打印出异常.
   * @param message 提示信息.
   * @param e 异常信息
   */

  public void error(Object message, Throwable e);

  /**
   * 打印失败信息.
   * @param message 提示信息.
   */

  public void fatal(Object message);

  /**
   * 打印失败信息,同时打印出异常.
   * @param message 提示信息.
   * @param e 异常信息
   */

  public void fatal(Object message, Throwable e);

  /**
   * 打印跟踪信息.
   * @param message 提示信息.
   */

  public void trace(Object message);

  /**
   * 打印跟踪信息,同时打印出异常.
   * @param message 提示信息.
   * @param e 异常信息
   */

  public void trace(Object message, Throwable e);

}
